Progressive image transmission

ABSTRACT

Image to be transmitted is divided into blocks. The block size varies in each stage of transmission. The blocks are down-sampled to a fixed size for polynomial approximation coding (PAC). The PAC&#39;s are derived from a regressive model which is a statistical tool for data analysis. A two-dimensional polynomial equation is used to approximate the relation of the image data and their positions. The coefficients of the 2-D polynomial equation is coded and transmitted to represent the initial image. In the next stage, same or similar coding is conducted to the residual image. After a decided number of stages of transmission an approximated image is reconstructed. A novel iterative coding system for progressive image transmission is disclosed.

FIELD OF THE INVENTION

The present invention relates to a method and a device for progressive image transmission, and especially to a progressive image transmission technology using an iterative operation encode and to retrieve image files.

BACKGROUND OF THE INVENTION

Progressive image transmission (PIT) has been widely developed to serve many applications, such as remote image database access, telebrowsing and teleconferencing over relatively low bit-rate channels. In general, transmission of an image file is divided into stages and at the first stage a coarse low resolution image is transmitted as an initial approximation. The resolution of the image is refined by sending more stages. The image is transmitted progressively in order to give a better approximation to the original image.

In the conventional art, many PIT techniques have been proposed and they can be roughly classified into three categories: the pyramidal approach, the transform-based approach and the iterative encoding approach.

In the pyramidal approach, the levels of the pyramid correspond to the successive approximations of the original image. The image can be progressively reconstructed by adding levels of the pyramid to the top level. Reference may be made to: K. H. Tan et al., "Layered image coding using the DCT pyramid", IEEE Trans. Image Process, 4(4), April 1995, pp. 512-516.

In the transform-based approach, the image first undergoes a block transform and the transformed coefficients are transmitted progressively in a certain order, usually from-low-to-high order. In this manner, successive approximation to the original image with progressively high resolution is obtained by inversely transforming the coefficients at each order. Reference may be made to: A. Jain et al., "Scaleable compression for image browsing", IEEE Trans. Consumer Electron, 40(3), August 1994, pp. 394-404.

In the third approach, the residue or difference image of the image file is encoded, either in the spatial domain or in the transform domain. At each stage, an error image or a difference image between the original image and the transmitted image is generated and then encoded at the next stage. Reference may be made to: L. Wang et al., "Lossless progressive image transmission by residual error vector quantization", IEEE Proceedings 135(Pt. F.5), October, 1988, pp. 421-430.

Among the above three approaches, the iterative encoding approach is widely used in the industry due to the fact that the iterative operation can be conducted by a computer at a high speed. The iterative coding approach, however, requires large number of data and thus consumes long operation time.

There is thus a need in the industry to provide a novel iterative coding system for progressive image transmission to enhance the efficiency of processing.

There is also a need to have a simplified iterative coding system for progressive image transmission so that data required in the processing may be reduced.

OBJECTIVES OF THE INVENTION

The purpose of this invention is to provide a novel method for progressive image transmission.

Another purpose of this invention is to provide a new iterative coding system to enhance the efficiency of progressive image transmission.

Another purpose of this invention is to provide a simplified method for progressive image transmission whereby data required may be reduced and the quality of transmitted image may be enhanced.

Another purpose for a this invention is to provide a novel structure of progressive image transmission device.

SUMMARY OF THE INVENTION

According to the present invention, a novel iterative coding system for progressive image transmission is disclosed. In the present invention, the image file to be transmitted is first divided into blocks. The block size varies in each stage of transmission. The divided blocks are down-sampled to a fixed size for polynomial approximation coding (PAC). The PAC's are derived from a regressive model which is a statistical tool for data analysis. A two-dimensional polynomial equation is used to approximate the relation of the image data and their positions. The coefficients of the 2-D polynomial equation are transmitted to represent the initial image to be transmitted. In the next stage, same or similar coding is conducted to the residual image. After a decided number of stages of transmission an approximated image is transmitted.

These and other purposes and advantages of this invention can be fully understood from the detailed description of the invention by referring to the following drawings.

IN THE DRAWINGS.

FIG. 1 illustrates the block diagram of the progressive image transmission system of this invention.

FIG. 2 illustrates the system schematics of the progressive image transmission device of this invention.

FIG. 3 illustrates the flow chart of the method for progressive image transmission of this invention.

FIG. 4 shows "Lena", an image to be transmitted.

FIG. 5(a) shows the reconstructed image of "Lena" with 128*128 pixels under the first stage of transmission. FIG. 5(b) shows the reconstructed image of "Lena" with 256*256 pixels under the second stage of transmission.

FIGS. 6(a)-6(c) respectively show the reconstructed image of "Lena" with 512*512 pixels under the first, second and third stages of transmission.

Table 1 shows the standard codes of the coefficients for the polynomial approximation coding system applicable in this invention.

Table 2 shows the standard DC codes for the polynomial approximation coding system, used in the embodiments of this invention.

Table 3 shows the standard AC codes for the polynomial approximation coding system, used in the first stage of transmission of the embodiments of this invention.

Table 4 shows the standard general codes for the polynomial approximation coding system, used in the second and following stages of transmission of the embodiments of this invention.

DETAILED DESCRIPTION OF THE INVENTION

Block Division.

In the progressive image transmission system of the present invention, the image is transmitted in stages. In each stage of transmission the image to be transmitted is first divided into blocks. Preferably, each block has the same size at the same stage and every blocks doesn't overlap with other blocks. The blocks so divided will be deemed objects of the following processing and transmission.

Approximation.

In most applications of this invention, the image is transmitted for remote or long-distanced playback. The playback function should be a discrete function. In the present invention, however, the discrete values of each block is embedded into a continuous function f(x,y) defined on the unit square surrounding every pixel. A two-dimensional polynomial function p(x,y) is used to approximate the continuous function f(x,y), as follows:

    f(x,y)=p(x,y)+e(x,y)                                       (1)

wherein e(x,y) denotes the error term.

The two-dimensional equation may be expressed generally by: ##EQU1## where β_(ij) denotes the polynomial coefficients.

In this invention, only the coefficients are transmitted. At the recipient site, the coefficients are retrieved according to equation (2) and an approximation image p(x,y) is obtained.

Transmission System.

The polynomial approximation coding is based on the estimation of polynomial coefficients, followed by quantization and variable-length coding. At the recipient site the received bits stream is converted to a series of quantified polynomial coefficients. These polynomial coefficients are used to recover the original data by the polynomial equation with adequate position value (x,y) to obtain a retrieved approximation image.

FIG. 1 illustrates the block diagram of the progressive image transmission system of this invention. As shown in the figure, the progressive image transmission system of this invention comprises a polynomial coefficient estimator (PCE) 1, a quantifier 2 and a variable-length encoder 3 at the transmission site and a variable-length decoder 4, a dequantifier 5 and a polynomial data regenerator 6 at the recipient site. The image to be processed, f(x,y), is first processed by the PCE 1 to obtain a matrix of its polynomial coefficients β which is then quantified by the quantifier 2 to obtain a matrix of the quantified coefficients β². The quantified coefficients are coded by the encoder 3 to obtain a bits stream which is then transmitted to the recipient site.

At the recipient site, the bits stream is first decoded by the decoder 4 to have the quantifier coefficients β² which is then dequantified to β by the dequantifier 5. The coefficients are then reconstructed by the polynomial data regenerator 6 to have an approximation image p(x,y). After several stages of reconstruction, an approximation image ƒ(x,y) is generated by the polynomial data regenerator 6.

Determination of Coefficients β.

    Let p(x,y)=β.sub.0 +β.sub.1 x+β.sub.2 y+β.sub.3 xy(3)

At the end of the encoder 1, the polynomial coefficients are obtained by the regression technique. Here we define the matrix from of the polynomial approximation as follows:

    F=Xb+e                                                     (4)

Wherein:

F is the original image;

F^(T) =[ƒ₁,ƒ₂, . . . ,ƒ_(n) ] represents an original data matrix with n elements and n>0; ##EQU2## is a constant matrix formed by the position variables; b^(T) =[β₀,β₁,β₂,β₃ ] is the coefficient matrix;

e^(T) =[e₁,e₂, . . . ,e_(n) ] is the error term matrix; and T represents number of the transmission stages.

After some simple numerical procedures, the least square estimation of the polynomial coefficient vector b is obtained by the following equation:

    b=(X.sup.T X).sup.-1 X.sup.T F                             (5)

Since the elements of the X matrix are fixed, equation (5) may be replaced by a position generator matrix G, G=(X^(T) X)⁻¹ X^(T), so that the polynomial coefficient vector b can be expressed by b=GF.

As to the retrieving process, the image can be reconstructed according to equation (3). In other words, the reconstructed data matrix F of the interpolation or decimation can be directly obtained by the following equation:

    F=Xb where ##EQU3## and x and y are the position mapping variables of the extension decoding for the interpolation or decimation.

This means, for a set of fixed polynomial coefficients, the interpolation of data is implemented by polynomial equation with the interpolation of the set of (x,y).

Division of Residual Image Data.

In the progressive image transmission system of this invention, a series of residual image frames are transmitted. Let {ƒ^(k),k>0} represent the series of the images frames where ƒ^(k) is the transmitted image at stage k. We further let Fƒ¹ represent the original image. In ideal cases, ##EQU4## but in actual cases, the transmission is limited to a certain number of stages m. We thus have: ##EQU5## where represents the error image in this m-stage transmission system.

Let ƒ^(k) denote the residual image frame at stage k. Thus the residual image frame at the next stage is generated by ƒ^(k+1) =ƒ^(k) -ƒ^(k). The progressively reconstructed image can be expressed as F^(k) =F^(k-1) +ƒ^(k) wherein F¹ =ƒ¹.

In this invention, the image to be transmitted is divided into blocks for processing. The residual image frame, in turn, is derived from the divided blocks where each residual image frame ƒ^(k) consists of a series of non-overlapped blocks {X_(l) ^(k),1≦l≦N_(k) } where N_(k) is the number of blocks at frame ƒ^(k). The block size of each frame varies in each stage in order to refine the process. For the sake of convenience, let N_(k-1) =4N_(k). That is, if the size of X^(k) is (2M×2M) at stage k, the size in X^(k+1) is M×M.

Device and Process of Progressive Image Transmission.

FIG. 2 illustrates the system schematics of the progressive image transmission device of this invention. As shown in the figure, the progressive image transmission device of this invention comprises: an image dividing device 201, a sampling device 202, a memory 203, a predictor 204, a quantifier 205, an encoder 206, a transmission device 207 and a determination device 208. In this figure, the predictor 204, the quantifier 205 and the encoder 206 have similar functions with the PCE 1, the quantifier 2 and the variable-length encoder 3 in FIG. 1, respectively.

FIG. 3 shows the flow chart of the method for progressive image transmission of this invention. The following is a description of the progressive image transmission system of this invention will follow the flow chart of FIG. 3 by referring to FIG. 2.

At 301, the number of stages of the transmission m is decided and the variable of the stage k is set to 1. The number of blocks to be divided N is decided where N=2.sup.(m+1) ×2.sup.(m+1). At 302 the image dividing device 201 divides the residual image frame ƒ^(k) (ƒ¹ is the original image F) into N blocks. For example, if k=1, then N=16. Preferably the N blocks are not overlapping one another. At 303 the sampling device 202 down-samples the blocks. In the embodiment of this invention, the down-sampling is conducted with a 4*4 pixel mask and one pixel is picked up from the mask to represent the mask. At 304 the down-sampled image is stored in the memory 203. At 305 the predictor (204) encodes the down-sampled image (blocks) with a two-dimensional polynomial equation, as follow:

    ƒ.sup.k =Xb.sup.k +e.sup.k

At 306 the quantifier (205) quantifies the coefficient matrix b^(k) to obtain the numeric values of the coefficients. The numeric values of the coefficients may be the nearest integral numbers of the coefficients or any value that is decided by an applicable prediction technology. At 307 the encoder (206) encodes the numeric numbers of the coefficients into variable-length codes. In the coding process, a look-up-table may be used. In determining the codes, the more frequently a code exists the shorter length of the code will be given. A tree coding system may be applicable in this invention to effectively divide the codes. Other coding systems may be applicable to this invention, as long as they give the same or similar effects.

At 308 the transmission device 207 transmits the encoded codes of the coefficients. While the codes are received by the recipient site, a down-sampled, approximation image ƒ^(k) can be reconstructed, ƒ^(k) =ΣXb^(k). At 309 the determination device 208 determines whether k is equal to m. If yes, the process will be stop; Otherwise, let k=k+1and N=N/2. Steps 303 to 309 will be repeated.

At stage k+1, the image to be processed is the residual image between the original image (ƒ¹) and the reconstructed image (ƒ^(k)), ƒ^(k+1), ƒ^(k+1) =ƒ¹ -ƒ^(k).

Steps 303 to 309 are repeated and the coefficients of stage k+1 (b^(k+1)) is transmitted. At this stage, N=1/2(2.sup.(m+1) ×2.sup.(m+1)). If after the transmission, k is still less than m, steps 303 to 309 will be repeated.

Coding of the Coefficients.

In order to enhance the speed of processing, the present invention provides a novel coding system for the coefficients. In the processing, the original image is approximated by a continuous function, as follows:

    p(x,y)=β.sub.0 +β.sub.1 x+β.sub.2 y+β.sub.3 xy(3)

The coefficients in equation (3) are quantified and encoded before transmission. In coding the coefficients, the embodiments of the invention use a 9-code system to estimate the quantified coefficients β₀, β₁, β₂ and β₃. Table 1 shows the standard codes of the coefficients for the polynomial approximation coding system used in the embodiments of in this invention. The standard codes shown in Table 1 is obtained from static data of a number of image files. This coding system provides the effect of reducing the bit-rate of the image files and is applicable to most image files.

After the standard codes of the coefficients are obtained, the encoder uses a special encoding system to transform the codes into binary format. Tables 2-4 show the encoding system as used in the embodiments of this invention. In the tables, Table 2 shows the standard DC codes (β₀) of the coding system, Table 3 shows the standard AC codes (β₁ to β₃) of the coding system, used in the first stage of transmission and Table 4 shows the standard AC codes of the coding system, used in the second and following stages of transmission. All these tables are taken for reference in this invention. Other coding systems may also be used in this invention, so far as they provide the same or similar effects.

After the encoding of the polynomial coefficients, there are two data paths: the variable length codes (VLC) which is used to reduce the bit rates; and the inverse and reconstruction data which is used in the inverse quantification and the polynomial reconstruction of the approximation image.

EMBODIMENT

High-level language simulation using the progressive image transmission technology of this invention is presented. The image to be transmitted "Lena" is shown in FIG. 4. This image is sized 512*512 pixels and each pixel is expressed with 256 gray levels.

In this embodiment, the transmission is divided into three stages (m=3). The original image is first divided into 16*16 blocks, each block having 32*32 pixels. The blocks are divided from up to down and from left to right.

In the down-sampling, each 1024 pixel block is masked by a 4*4 pixel mask. The most left-up pixel is picked up from each mask. The down-sampled blocks are embedded into equation (3) so that the coefficients are obtained. The coefficients are quantified and coded according to the codes in Table 1. In particular, the nonzero AC coefficients are encoded using a variable-length code system that defines the coefficient's value and number of the preceding zeros. The DC coefficients are differentially coded relatively to the DC coefficients of the previous sub-image. Tables 2 and 3 show the default PAC Huffman codes at the first stage. In the second and third stages (and thereafter, if any), all the polynomial coefficients are coded by the same PAC Huffman codes as shown in Table. 4.

In this embodiment, two transmission models are provided. In the first model the size of image transmitted varies in each stage. FIG. 5(a) shows the reconstructed image of "Lena" with 128*128 pixels under the first stage of transmission. FIG. 5(b) shows the reconstructed image of "Lena" with 256*256 pixels under the second stage of transmission. In the second model, the size of image transmitted is constant in every stage. FIGS. 6(a)-6(c) respectively show the reconstructed image of "Lena" with 512*512 pixels under the first, second and third stages of transmission. As shown in the figure, the image as reconstructed in the third stage is a fine approximation of the original image (FIG. 4).

In order to assess the effects of this invention, a peak-signal-to-noise ratio (PSNR) is used. Here, PSNR is defined as: ##EQU6## where MSE is the mean-square-error given by: ##EQU7## where F and F denote the original image and the reconstructed image respectively, and N denote the size of the image.

The PSNR and the bit-rates of the embodiments are shown in Table 5.

For comparison, the image "Lena" is processed with the conventional HM-JPEG technology and a 512*512 pixel image is constructed. The result is also shown in Table 5. As shown in Table 5, the PSNR of the present invention is higher than that of the HM-JPEG technology but the bit rate is about one third the latter.

EFFECTS OF THE INVENTION

As the residual images are approximated by continuous functions, the scaling property of the reconstructed images is well achieved. As shown in Table 5, the quality of the image as transmitted is higher than the conventional art while the bit-rate is reduced. The method of this invention may applied to a variety of applications and the coding system may also be revised according to the character of the image. In addition to this, other transmission approaches may also be applied to this invention. For example, in a browsing system, small-size images may be decoded into image indexes; In the iterative refining of the resolution, decoding can be conducted directly to constant size images.

While the present invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A method for transmission of digital images in stages, comprising the following steps:obtaining an image ƒ¹ to be transmitted; deciding the number of stages m and setting the variable of the stage k to 1; dividing said image into N blocks wherein said N blocks are not overlapping one another; down-sampling said image of said blocks; encoding said down-sampled block image with the following equation:

    ƒ.sup.k =Xb.sup.k +e.sup.k

wherein:ƒ^(k) =[ƒ₁,ƒ₂, . . . ,ƒ_(n) ] represents an original data matrix with n elements and n>0; ##EQU8## is a constant matrix formed by the position variables; b^(k) =[β₀,β₁,β₂,β₃ ] is the coefficient matrix; e^(k) =[e₁,e₂, . . . ,e_(n) ] is the error term matrix; and T represents number of the transmission stages; quantifying said coefficient matrix b^(k) ; encodes the numeric numbers of the coefficients into variable-length codes; transmits the encoded codes of the coefficients; and setting k=k+1 and N=N/2 and repeating the above steps to process the residual image ƒ^(k+1), ƒ^(k+1) =ƒ¹ -ƒ^(k) until k is equal to m wherein ƒ¹ denotes the original image and ƒ^(k) denotes the reconstructed image.
 2. The method according to claim 1 wherein N=2.sup.(m+1) ×2.sup.(m+1).
 3. The method according to claim 1 wherein said down-sampling is conducted with a 4*4 pixel mask.
 4. The method according to claim 1 wherein said coefficients are quantified by their nearest integral numbers.
 5. The method according to claim 1 wherein said coefficients are quantified with predicted numbers.
 6. The method according to claim 1 wherein a look-up-table is used to encode the quantified coefficients.
 7. The method according to claim 1 wherein the more frequently existing codes are encoded with shorter codes.
 8. A device for transmission of digital images in stages, comprising:an input device to obtain an image ƒ¹ to be transmitted; an initialization device to decide the number of stages m and to set the variable of the stage k to 1; a sampling device to divide said image into N blocks wherein said N blocks are not overlapping one another; a memory to store in-process or processed images; a down-sampler to down-sample said image of said blocks; a predictor to encode said down-sampled block image with the following equation:

    ƒ.sup.k =Xb.sup.k +e.sup.k

wherein:ƒ^(k) =[ƒ₁,ƒ₂, . . . ,ƒ_(n) ] represents an original data matrix with n elements and n>0; ##EQU9## is a constant matrix formed by the position variables; b^(k) =[β₀,β₁,β₂,β₃ ] is the coefficient matrix; e^(k) =[e₁,e₂, . . . ,e_(n) ] is the error term matrix; and T represents number of the transmission stages; a quantifier to quantify said coefficient matrix b^(k) ; an encoder to encode the numeric numbers of the coefficients into variable-length codes; a transmitter to transmit said encoded codes of the coefficients; and a resetting device to set k=k+1 and N=N/2.
 9. The device according to claim 8 wherein N=2.sup.(m+1) ×2.sup.(m+1).
 10. The device according to claim 8 wherein said down-sampler down-samples said image with a 4*4 pixel mask.
 11. The device according to claim 8 wherein said quantifier quantifies said coefficients by their nearest integral numbers.
 12. The device according to claim 8 wherein said quantifier quantifies said coefficients with predicted numbers.
 13. The device according to claim 8 further comprising a look-up-table to be used to code said quantified coefficients.
 14. The device according to claim 8 wherein said encoder encodes more frequently existing codes with shorter codes. 